// 1. 创建父对象，设定私有属性和原型方法
// 2. 创建子对象，设定私有属性
// 3. 子对象构造函数调用父对象构造函数

var Parent = function (sex) {
  this.sex = sex;
  this.type = 'Human';
};

Parent.prototype.setSex = function () {
  console.log(this.sex);
};

var Child = function(sex, name) {
  Parent.call(this, sex);
  this.name = name;
}

var child = new Child('Male', 'Jason');

console.log(child);
console.log(child.sex);
console.log(child.type);
try {
  console.log(child.setSex('Female'));
} catch(err) {
  console.error('error: setSexError');
}

console.log(child);